<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Extensions to the Device Section</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="cmsis.css" rel="stylesheet" type="text/css" />
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>


</head>
<body>
<div id="top"><!-- do not remove this div! -->

<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 46px;">
  <td id="proglogo"><img alt="CMSIS Logo" src="CMSIS_Logo_Final.png"></td>
  
  <td style="padding-left: 0.5em;">
   <div id="projectname">CMSIS-SVD
   &#160;<span id="projectnumber">Version 1.10</span>
   </div>
   <div id="projectbrief">CMSIS System View Description</div>
  </td>
  
  
  
 </tr>
 </tbody>
</table>
</div>

<div id="CMSISnav" class="tabs1">
    <ul class="tablist">
      <li><a href="../../General/html/index.html"><span>CMSIS</span></a></li>
      <li><a href="../../Core/html/index.html"><span>CORE</span></a></li>
      <li><a href="../../DSP/html/index.html"><span>DSP</span></a></li>
      <li><a href="../../RTOS/html/index.html"><span>RTOS API</span></a></li>
      <li class="current"><a href="../../SVD/html/index.html"><span>SVD</span></a></li>
    </ul>
</div>
<!-- Generated by Doxygen 1.7.5.1 -->
<script type="text/javascript" src="dynsections.js"></script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="pages.html"><span>Usage&#160;and&#160;Description</span></a></li>
      <li><a href="modules.html"><span>Reference</span></a></li>
    </ul>
  </div>
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
  initNavTree('group__device_section_extensions__gr.html','');
</script>
<div id="doc-content">
<div class="header">
  <div class="headertitle">
<div class="title">Extensions to the Device Section</div>  </div>
<div class="ingroups"><a class="el" href="group__svd___format__1__1__gr.html">SVD Extension in Version 1.1</a></div></div>
<div class="contents">
<p>A number of elements have been added to the device section. These elements are optional but are highly recommended to enable the generation of consistent and CMSIS-compliant device header files from SVD descriptions.</p>
<pre>
<span class="mand"><b>&lt;device schemaVersion=<em>"xs:decimal"</em> xmlns:xs=<em>"http://www.w3.org/2001/XMLSchema-instance"</em> xs:noNamespaceSchemaLocation=<em>"CMSIS-SVD_Schema_1_1.xsd"</em>&gt;</b>
    <span class="opt">&lt;vendor&gt;<em>stringType</em>&lt;/vendor&gt;
    &lt;vendorID&gt;<em>stringType</em>&lt;/vendorID&gt;</span>
    &lt;name&gt;<em>identifierType</em>&lt;/name&gt;<span class="opt">
    &lt;series&gt;<em>stringType</em>&lt;/series&gt;</span>
    &lt;version&gt;<em>xs:string</em>&lt;/version&gt;
    &lt;description&gt;<em>xs:string</em>&lt;/description&gt;<span class="opt">
    &lt;licenseText&gt;<em>xs:string</em>&lt;/licenseText&gt;
    &lt;cpu&gt;<em>cpuType</em>&lt;/cpu&gt;
    &lt;headerSystemFilename&gt;<em>identifierType</em>&lt;/headerSystemFilename&gt;
    &lt;headerDefinitionsPrefix&gt;<em>identifierType</em>&lt;/headerDefinitionsPrefix&gt;
</span>
    ...
<b>&lt;/device&gt;</b>
</span>
</pre><table  class="cmtable" summary="Device Section Extension Elements">
<tr>
<th nowrap="nowrap">Element Name </th><th>Description </th><th>Type </th><th>Occurrence  </th></tr>
<tr>
<td>vendor </td><td>This specifies the vendor of the device using the full name. </td><td>stringType  </td><td>0..1   </td></tr>
<tr>
<td>vendorID </td><td>This specifies the vendor of the device using the vendor abbreviation that does not contain any spaces or special characters. This information shall be used for defining the directory. </td><td>stringType  </td><td>0..1   </td></tr>
<tr>
<td>series </td><td>This element specifies the name of the device series. </td><td>stringType  </td><td>0..1   </td></tr>
<tr>
<td>licenseText </td><td>The content of this tag will be copied into the header section of the generated device header file and shall contain the legal disclaimer. New lines can be inserted by using "\n". This section is mandatory if the SVD file shall be used for generating the device header file. </td><td>stringType  </td><td>0..1    </td></tr>
<tr>
<td>headerSystemFilename </td><td>This tag specifies the file name (without extension) of the device-specific system include file (<code>system_&lt;device&gt;.h</code>; See CMSIS-Core description). This tag is used by the header file generator for customizing the include statement referencing the CMSIS system file within the CMSIS device header file. By default, the filename is "&lt;kbd&gt;system_&lt;i&gt;device:name&lt;/i&gt;.h". In cases where a device series shares a single system header file, the name of the series shall be used instead of the individual device name. </td><td>identifierType  </td><td>0..1   </td></tr>
<tr>
<td>headerDefinitionsPrefix </td><td>The element specifies the string being prepended to all type definition names generated in the CMSIS-Core device header file. This is used if the silicon vendor's software requires vendor-specific types in order to avoid name clashes with other definied types. </td><td>identifierType  </td><td>0..1   </td></tr>
</table>
<h2><a class="anchor" id="deviceSectionExtensions_ex"></a>
Example:</h2>
<div class="fragment"><pre class="fragment">...
&lt;device schemaVersion=<span class="stringliteral">&quot;1.1&quot;</span> xmlns:xs=<span class="stringliteral">&quot;http://www.w3.org/2001/XMLSchema-instance&quot;</span> xs:noNamespaceSchemaLocation=<span class="stringliteral">&quot;CMSIS-SVD_Schema_1_1.xsd&quot;</span>&gt;
    &lt;vendor&gt;Advanced RISC Machines&lt;/vendor&gt;
    &lt;vendorID&gt;ARM&lt;/vendorID&gt;
    ...
    &lt;series&gt;ARMCM3&lt;/series&gt;
    ...
    &lt;licenseText&gt;
    ARM Limited (ARM) is supplying this software for use with Cortex-M \n
    processor based microcontrollers.  This file can be freely distributed \n
    within development tools that are supporting such ARM based processors. \n
    \n
    THIS SOFTWARE IS PROVIDED &quot;AS IS&quot;.  NO WARRANTIES, WHETHER EXPRESS, IMPLIED \n
    OR STATUTORY, INCLUDING, BUT NOT LIMITED TO, IMPLIED WARRANTIES OF \n
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE APPLY TO THIS SOFTWARE. \n
    ARM SHALL NOT, IN ANY CIRCUMSTANCES, BE LIABLE FOR SPECIAL, INCIDENTAL, OR \n
    CONSEQUENTIAL DAMAGES, FOR ANY REASON WHATSOEVER.
    &lt;/licenseText&gt;
    ...
    &lt;headerSystemFilename&gt;system_ARMCM4&lt;/headeSystemFilename&gt;
    &lt;headerDefinitionsPrefix&gt;ARM_&lt;/headerDefinitionsPrefix&gt;
    ...
&lt;/device&gt;       
...
</pre></div><p>This example describes a device from the vendor <b>Advanced RISC Machines</b> using <b>ARM</b> as short name. The device belongs to the device family identified by <b>ARMCM4</b>. The legal disclaimer in the header files generated from this description is captured and formatted in accordance to the standard ARM CMSIS disclaimer. The CMSIS system file included by the generated device header file is named <b>system_ARMCM4.h</b> and all type definitions will be prepended with <b>ARM_</b>. </p>
</div>
</div>
  <div id="nav-path" class="navpath">
    <ul>

    <li class="footer">Generated on Wed Mar 28 2012 15:38:11 for CMSIS-SVD by ARM Ltd. All rights reserved.
    <!--
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.5.1 </li>
    -->
    </li>
   </ul>
 </div>


</body>
</html>
